package com.spsoft.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spsoft.core.model.Result;
import com.spsoft.system.entity.NvatOutInvoiceDetails;
import com.spsoft.system.model.vo.InvoiceVo;
import com.spsoft.system.model.vo.official.InvoiceInfoVO;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 销项发票主信息 Mapper 接口
 * </p>
 *
 * @author chenxudong
 * @since 2023-12-14
 */
public interface NvatOutInvoiceDetailsMapper extends BaseMapper<NvatOutInvoiceDetails> {

    /**
     * 根据部门编号获取开票单位id
     */
    String getSbdwId(@Param("deptCode") String deptCode);

    /**
     * 根据流水id查询发的发票信息
     * @param rdidList
     * @return
     */
    List<InvoiceInfoVO> queryInvoiceBYRdids(@Param("rdidList") List<Long> rdidList);

    /**
     * 根据发票代码、发票号码查询税控发票数据
     */
    InvoiceVo queryInvoice(@Param("fpdm") String fpdm, @Param("fphm") String fphm, @Param("deptCode") String deptCode);

    /**
     * 更新发票状态、作废冲红原因、日期
     */
    int updateInvoiceFpzt(@Param("fpzt") int fpzt, @Param("zfchyy") String zfchyy,
                          @Param("zfchrq") Date zfchrq, @Param("oidid") Long oidid);

}
